iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
SideProject30

30天挑戰:從無到有,使用Vue.js和.NET建立一個Web登入系統系列 第 13

Day 13:.NET CRUD開發篇 - 如何開發一隻更新 API(U)

  • 分享至 

  • xImage
  •  

Controllers>UserController.cs

[HttpPut]
public async Task<IActionResult> UpdateUser(UpdateUserDto updateUser)
{
    var result = await _userService.UpdateUser(updateUser);
    return result;
}

Dtos>UserDto.cs

public class UpdateUserDto
{
    [EmailAddress]
    [MaxLength(100)]
    [DefaultValue("XXX@gmail.com")]
    public string? Email { get; set; }

    [MaxLength(100)]
    [DefaultValue("Dylan")]
    public string? Username { get; set; }

    [Phone]
    [MaxLength(100)]
    [DefaultValue("0912345678")]
    public string? Phone { get; set; }
}

Services>UserService.cs

public async Task<IActionResult> UpdateUser(UpdateUserDto updateUser)
{
    var user = _context.UserProfiles.FirstOrDefault(e => e.Email.Equals(updateUser.Email));
    if (user != null) 
    {
        if (user.Username != null)
        {
            user.Username = updateUser.Username;
        }
        if (user.Phone != null)
        {
            user.Phone = updateUser.Phone;
        }
        user.Updated_At = DateTime.Now;
    }
    try
    {
        await _context.SaveChangesAsync();
    }
    catch
    {
        return new JsonResult(new { status = "1" });
    }
    return new JsonResult(new { status = "0" });
}

https://ithelp.ithome.com.tw/upload/images/20230929/20141088973Yj8ZHKv.png

https://ithelp.ithome.com.tw/upload/images/20230929/20141088rErlkFVUrk.png


上一篇
Day 12:.NET CRUD開發篇 - 如何開發一隻查詢 API(R)
下一篇
Day 14:.NET CRUD開發篇 - 如何開發一隻刪除 API(D)
系列文
30天挑戰:從無到有,使用Vue.js和.NET建立一個Web登入系統19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言